﻿using VIA.Integration;
using VIA.Integration.LeadShine;

namespace VIA.SiMoJi.Domain.Electronics
{
    public partial class Electronic
    {
        public readonly static DMCController Controller = new DMCController(0) { Name = "运动控制卡" };
        public readonly static Electronic Default = new Electronic();
        public volatile bool IsAlarm;
        public Dictionary<int, CardIoPoint> InputPoints { get; } = new();
        public Dictionary<int, CardIoPoint> OutputPoints { get; } = new();
        public Dictionary<string, CardIoPoint> InputPoints2 { get; } = new();
        public Dictionary<string, CardIoPoint> OutputPoints2 { get; } = new();

        public Electronic()
        {
            OutputPoints2["上相机板卡触发"] = DO6_上相机触发;
            OutputPoints2["下相机板卡触发"] = DO7_下相机触发;
            OutputPoints[6] = DO6_上相机触发;
            OutputPoints[7] = DO7_下相机触发;
            Init();
            CreateCylinder();
        }

        #region 运行标志

        /// <summary>
        /// 是否能自动运行
        /// </summary>
        /// <returns></returns>
        public bool CanRunning()
        {
            bool b = !GetIsAlarm() && GetIsAutoRun();
            return b;
        }

        /// <summary>
        /// 获取是否自动运行状态
        /// </summary>
        /// <returns></returns>
        public bool GetIsAutoRun()
        {
            bool b = !DI04_手动自动旋钮手动.Value && DI05_手动自动旋钮自动.Value;
            return b;
        }

        /// <summary>
        /// 获取急停、气压、门禁是否报警
        /// </summary>
        /// <returns></returns>
        public bool GetIsAlarm()
        {
            bool b = IsAlarm || !DI06_面板急停按钮.Value || !DI08_总气源气压表.Value || GetIsDoorAlarm();
            return b;
        }

        /// <summary>
        /// 门禁风扇是否报警
        /// </summary>
        /// <returns></returns>
        public bool GetIsDoorAlarm()
        {
            bool b = !DI09_门禁报警信号1.Value || !DI10_门禁报警信号2.Value || DI15_风扇报警1.Value || DI16_风扇报警2.Value || DI17_风扇报警3.Value || DI18_风扇报警4.Value;
            return b;
        }

        #endregion

        /// <summary>
        /// 上相机触发
        /// </summary>
        public CardIoPoint DO6_上相机触发 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 6);
        /// <summary>
        /// 下相机触发
        /// </summary>
        public CardIoPoint DO7_下相机触发 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 7);


        #region 输入

        /// <summary>
        ///  面板启动按钮,输入地址：X0
        /// </summary>
        public CardIoPoint DI01_面板启动按钮 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 8);

        /// <summary>
        ///  面板停止按钮,输入地址：X1
        /// </summary>
        public CardIoPoint DI02_面板停止按钮 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 9);

        /// <summary>
        ///  面板复位按钮,输入地址：X2
        /// </summary>
        public CardIoPoint DI03_面板复位按钮 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 10);

        /// <summary>
        ///  手动自动旋钮手动,输入地址：X3
        /// </summary>
        public CardIoPoint DI04_手动自动旋钮手动 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 11);

        /// <summary>
        ///  手动自动旋钮自动,输入地址：X4
        /// </summary>
        public CardIoPoint DI05_手动自动旋钮自动 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 12);

        /// <summary>
        ///  面板急停按钮,输入地址：X5
        /// </summary>
        public CardIoPoint DI06_面板急停按钮 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 13);

        /// <summary>
        ///  背面急停按钮,输入地址：X6
        /// </summary>
        public CardIoPoint DI07_背面急停按钮 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 14);

        /// <summary>
        ///  总气源气压表,输入地址：X7
        /// </summary>
        public CardIoPoint DI08_总气源气压表 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 15);

        /// <summary>
        ///  门禁报警信号1,输入地址：X10
        /// </summary>
        public CardIoPoint DI09_门禁报警信号1 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 16);

        /// <summary>
        ///  门禁报警信号2,输入地址：X11
        /// </summary>
        public CardIoPoint DI10_门禁报警信号2 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 17);

        /// <summary>
        ///  11,输入地址：X12
        /// </summary>
        public CardIoPoint DI11_11 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 18);

        /// <summary>
        ///  12,输入地址：X13
        /// </summary>
        public CardIoPoint DI12_12 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 19);

        /// <summary>
        ///  13,输入地址：X14
        /// </summary>
        public CardIoPoint DI13_13 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 20);

        /// <summary>
        ///  14,输入地址：X15
        /// </summary>
        public CardIoPoint DI14_14 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 21);

        /// <summary>
        ///  风扇报警1,输入地址：X16
        /// </summary>
        public CardIoPoint DI15_风扇报警1 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 22);

        /// <summary>
        ///  风扇报警2,输入地址：X17
        /// </summary>
        public CardIoPoint DI16_风扇报警2 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 23);

        /// <summary>
        ///  风扇报警3,输入地址：X20
        /// </summary>
        public CardIoPoint DI17_风扇报警3 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 24);

        /// <summary>
        ///  风扇报警4,输入地址：X21
        /// </summary>
        public CardIoPoint DI18_风扇报警4 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 25);

        /// <summary>
        ///  入料防追尾光电,输入地址：X22
        /// </summary>
        public CardIoPoint DI19_入料防追尾光电 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 26);

        /// <summary>
        ///  入料口光电,输入地址：X23
        /// </summary>
        public CardIoPoint DI20_入料口光电 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 27);

        /// <summary>
        ///  入料到位光电,输入地址：X24
        /// </summary>
        public CardIoPoint DI21_入料到位光电 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 28);

        /// <summary>
        ///  出料口光电,输入地址：X25
        /// </summary>
        public CardIoPoint DI22_出料口光电 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 29);

        /// <summary>
        ///  入料到位挡缸1伸出磁开,输入地址：X26
        /// </summary>
        public CardIoPoint DI23_入料到位挡缸1伸出磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 30);

        /// <summary>
        ///  入料到位挡缸1缩回磁开,输入地址：X27
        /// </summary>
        public CardIoPoint DI24_入料到位挡缸1缩回磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 31);

        /// <summary>
        ///  入料到位挡缸2伸出磁开,输入地址：X30
        /// </summary>
        public CardIoPoint DI25_入料到位挡缸2伸出磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 32);

        /// <summary>
        ///  入料到位挡缸2缩回磁开,输入地址：X31
        /// </summary>
        public CardIoPoint DI26_入料到位挡缸2缩回磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 33);

        /// <summary>
        ///  入料左右拍板气缸1原点磁开,输入地址：X32
        /// </summary>
        public CardIoPoint DI27_入料左右拍板气缸1原点磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 34);

        /// <summary>
        ///  入料左右拍板气缸1伸出磁开,输入地址：X33
        /// </summary>
        public CardIoPoint DI28_入料左右拍板气缸1伸出磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 35);

        /// <summary>
        ///  入料左右拍板气缸2原点磁开,输入地址：X34
        /// </summary>
        public CardIoPoint DI29_入料左右拍板气缸2原点磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 36);

        /// <summary>
        ///  入料左右拍板气缸2伸出磁开,输入地址：X35
        /// </summary>
        public CardIoPoint DI30_入料左右拍板气缸2伸出磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 37);

        /// <summary>
        ///  入料前后拍板气缸1缩回磁开,输入地址：X36
        /// </summary>
        public CardIoPoint DI31_入料前后拍板气缸1缩回磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 38);

        /// <summary>
        ///  入料前后拍板气缸1伸出磁开,输入地址：X37
        /// </summary>
        public CardIoPoint DI32_入料前后拍板气缸1伸出磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 39);

        /// <summary>
        ///  入料前后拍板气缸2缩回磁开,输入地址：X40
        /// </summary>
        public CardIoPoint DI33_入料前后拍板气缸2缩回磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 40);

        /// <summary>
        ///  入料前后拍板气缸2伸出磁开,输入地址：X41
        /// </summary>
        public CardIoPoint DI34_入料前后拍板气缸2伸出磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 41);

        /// <summary>
        ///  入料前后拍板上下气缸1缩回磁开,输入地址：X42
        /// </summary>
        public CardIoPoint DI35_入料前后拍板上下气缸1缩回磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 42);

        /// <summary>
        ///  入料前后拍板上下气缸1伸出磁开,输入地址：X43
        /// </summary>
        public CardIoPoint DI36_入料前后拍板上下气缸1伸出磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 43);

        /// <summary>
        ///  入料前后拍板上下气缸2缩回磁开,输入地址：X44
        /// </summary>
        public CardIoPoint DI37_入料前后拍板上下气缸2缩回磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 44);

        /// <summary>
        ///  入料前后拍板上下气缸2伸出磁开,输入地址：X45
        /// </summary>
        public CardIoPoint DI38_入料前后拍板上下气缸2伸出磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 45);

        /// <summary>
        ///  入料到位减速光电,输入地址：X46
        /// </summary>
        public CardIoPoint DI39_入料到位减速光电 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 46);

        /// <summary>
        ///  取放料真空表1,输入地址：X47
        /// </summary>
        public CardIoPoint DI40_取放料真空表1 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 47);

        /// <summary>
        ///  取放料真空表2,输入地址：X50
        /// </summary>
        public CardIoPoint DI41_取放料真空表2 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 48);

        /// <summary>
        ///  取放料真空表3,输入地址：X51
        /// </summary>
        public CardIoPoint DI42_取放料真空表3 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 49);

        /// <summary>
        ///  取放料真空表4,输入地址：X52
        /// </summary>
        public CardIoPoint DI43_取放料真空表4 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 50);

        /// <summary>
        ///  取放料真空表5,输入地址：X53
        /// </summary>
        public CardIoPoint DI44_取放料真空表5 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 51);

        /// <summary>
        ///  取放料真空表6,输入地址：X54
        /// </summary>
        public CardIoPoint DI45_取放料真空表6 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 52);

        /// <summary>
        ///  取放料真空表7,输入地址：X55
        /// </summary>
        public CardIoPoint DI46_取放料真空表7 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 53);

        /// <summary>
        ///  47,输入地址：X56
        /// </summary>
        public CardIoPoint DI47_47 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 54);

        /// <summary>
        ///  48,输入地址：X57
        /// </summary>
        public CardIoPoint DI48_48 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 55);

        /// <summary>
        ///  49,输入地址：X60
        /// </summary>
        public CardIoPoint DI49_49 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 56);

        /// <summary>
        ///  飞达1定位缸伸出磁开,输入地址：X61
        /// </summary>
        public CardIoPoint DI50_飞达1定位缸伸出磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 57);

        /// <summary>
        ///  飞达1定位缸缩回磁开,输入地址：X62
        /// </summary>
        public CardIoPoint DI51_飞达1定位缸缩回磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 58);

        /// <summary>
        ///  飞达1抽屉按钮,输入地址：X63
        /// </summary>
        public CardIoPoint DI52_飞达1抽屉按钮 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 59);

        /// <summary>
        ///  53,输入地址：X64
        /// </summary>
        public CardIoPoint DI53_53 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 60);

        /// <summary>
        ///  飞达2定位缸伸出磁开,输入地址：X65
        /// </summary>
        public CardIoPoint DI54_飞达2定位缸伸出磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 61);

        /// <summary>
        ///  飞达2定位缸缩回磁开,输入地址：X66
        /// </summary>
        public CardIoPoint DI55_飞达2定位缸缩回磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 62);

        /// <summary>
        ///  飞达2抽屉按钮,输入地址：X67
        /// </summary>
        public CardIoPoint DI56_飞达2抽屉按钮 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 63);

        /// <summary>
        ///  NG下料无杆缸缩回磁开,输入地址：X70
        /// </summary>
        public CardIoPoint DI57_NG下料无杆缸缩回磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 64);

        /// <summary>
        ///  NG下料无杆缸伸出磁开,输入地址：X71
        /// </summary>
        public CardIoPoint DI58_NG下料无杆缸伸出磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 65);

        /// <summary>
        ///  NG下料抽屉定位缸伸出磁开,输入地址：X72
        /// </summary>
        public CardIoPoint DI59_NG下料抽屉定位缸伸出磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 66);

        /// <summary>
        ///  NG下料抽屉定位缸缩回磁开,输入地址：X73
        /// </summary>
        public CardIoPoint DI60_NG下料抽屉定位缸缩回磁开 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 67);

        /// <summary>
        ///  NG抽屉按钮,输入地址：X74
        /// </summary>
        public CardIoPoint DI61_NG抽屉按钮 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 68);

        /// <summary>
        ///  NG抽屉闭合光电,输入地址：X75
        /// </summary>
        public CardIoPoint DI62_NG抽屉闭合光电 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 69);

        /// <summary>
        ///  NG抽屉打开光电,输入地址：X76
        /// </summary>
        public CardIoPoint DI63_NG抽屉打开光电 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 70);

        /// <summary>
        ///  NG抽屉料盘有无光电,输入地址：X77
        /// </summary>
        public CardIoPoint DI64_NG抽屉料盘有无光电 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 71);

        /// <summary>
        ///  夹爪膜检测光纤11,输入地址：X100
        /// </summary>
        public CardIoPoint DI65_夹爪膜检测光纤11 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 72);

        /// <summary>
        ///  夹爪膜检测光纤12,输入地址：X101
        /// </summary>
        public CardIoPoint DI66_夹爪膜检测光纤12 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 73);

        /// <summary>
        ///  夹爪膜检测光纤13,输入地址：X102
        /// </summary>
        public CardIoPoint DI67_夹爪膜检测光纤13 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 74);

        /// <summary>
        ///  夹爪膜检测光纤14,输入地址：X103
        /// </summary>
        public CardIoPoint DI68_夹爪膜检测光纤14 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 75);

        /// <summary>
        ///  夹爪膜检测光纤15,输入地址：X104
        /// </summary>
        public CardIoPoint DI69_夹爪膜检测光纤15 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 76);

        /// <summary>
        ///  夹爪膜检测光纤16,输入地址：X105
        /// </summary>
        public CardIoPoint DI70_夹爪膜检测光纤16 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 77);

        /// <summary>
        ///  夹爪膜检测光纤17,输入地址：X106
        /// </summary>
        public CardIoPoint DI71_夹爪膜检测光纤17 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 78);

        /// <summary>
        ///  夹爪膜检测光纤21,输入地址：X107
        /// </summary>
        public CardIoPoint DI72_夹爪膜检测光纤21 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 79);

        /// <summary>
        ///  夹爪膜检测光纤22,输入地址：X110
        /// </summary>
        public CardIoPoint DI73_夹爪膜检测光纤22 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 80);

        /// <summary>
        ///  夹爪膜检测光纤23,输入地址：X111
        /// </summary>
        public CardIoPoint DI74_夹爪膜检测光纤23 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 81);

        /// <summary>
        ///  夹爪膜检测光纤24,输入地址：X112
        /// </summary>
        public CardIoPoint DI75_夹爪膜检测光纤24 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 82);

        /// <summary>
        ///  夹爪膜检测光纤25,输入地址：X113
        /// </summary>
        public CardIoPoint DI76_夹爪膜检测光纤25 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 83);

        /// <summary>
        ///  夹爪膜检测光纤26,输入地址：X114
        /// </summary>
        public CardIoPoint DI77_夹爪膜检测光纤26 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 84);

        /// <summary>
        ///  夹爪膜检测光纤27,输入地址：X115
        /// </summary>
        public CardIoPoint DI78_夹爪膜检测光纤27 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 85);

        /// <summary>
        ///  夹爪张开光纤1,输入地址：X116
        /// </summary>
        public CardIoPoint DI79_夹爪闭合光纤1 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 86);

        /// <summary>
        ///  夹爪闭合光纤1,输入地址：X117
        /// </summary>
        public CardIoPoint DI80_夹爪张开光纤1 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 87);

        /// <summary>
        ///  夹爪张开光纤2,输入地址：X120
        /// </summary>
        public CardIoPoint DI81_夹爪闭合光纤2 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 88);

        /// <summary>
        ///  夹爪闭合光纤2,输入地址：X121
        /// </summary>
        public CardIoPoint DI82_夹爪张开光纤2 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 89);

        /// <summary>
        ///  飞达1抽屉闭合光电,输入地址：X122
        /// </summary>
        public CardIoPoint DI83_飞达1抽屉闭合光电 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 90);

        /// <summary>
        ///  飞达2抽屉闭合光电,输入地址：X123
        /// </summary>
        public CardIoPoint DI84_飞达2抽屉闭合光电 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 91);

        /// <summary>
        ///  飞达1料带有无检测,输入地址：X124
        /// </summary>
        public CardIoPoint DI85_飞达1料带有无检测 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 92);

        /// <summary>
        ///  飞达1放置到位,输入地址：X125
        /// </summary>
        public CardIoPoint DI86_飞达1放置到位 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 93);

        /// <summary>
        ///  飞达1收料触发,输入地址：X126
        /// </summary>
        public CardIoPoint DI87_飞达1收料触发 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 94);

        /// <summary>
        ///  飞达1满料检测,输入地址：X127
        /// </summary>
        public CardIoPoint DI88_飞达1满料检测 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 95);

        /// <summary>
        ///  飞达2料带有无检测,输入地址：X130
        /// </summary>
        public CardIoPoint DI89_飞达2料带有无检测 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 96);

        /// <summary>
        ///  飞达2放置到位,输入地址：X131
        /// </summary>
        public CardIoPoint DI90_飞达2放置到位 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 97);

        /// <summary>
        ///  飞达2收料触发,输入地址：X132
        /// </summary>
        public CardIoPoint DI91_飞达2收料触发 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 98);

        /// <summary>
        ///  飞达2满料检测,输入地址：X133
        /// </summary>
        public CardIoPoint DI92_飞达2满料检测 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 99);

        /// <summary>
        ///  上料交互输入信号1模组继电器,输入地址：X134
        /// </summary>
        public CardIoPoint DI93_上料交互输入信号1模组继电器 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 100);

        /// <summary>
        ///  上料交互输入信号2模组继电器,输入地址：X135
        /// </summary>
        public CardIoPoint DI94_上料交互输入信号2模组继电器 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 101);

        /// <summary>
        ///  下料交互输入信号1模组继电器,输入地址：X136
        /// </summary>
        public CardIoPoint DI95_下料交互输入信号1模组继电器 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 102);

        /// <summary>
        ///  下料交互输入信号2模组继电器,输入地址：X137
        /// </summary>
        public CardIoPoint DI96_下料交互输入信号2模组继电器 { get; } = new CardIoPoint(Controller, IoModes.Senser, 0, 103);


        #endregion

        #region 输出
        /// <summary>
        /// 面板启动按钮灯,输出地址：X0
        /// </summary>
        public CardIoPoint DO01_面板启动按钮灯 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 8);

        /// <summary>
        /// 面板停止按钮灯,输出地址：X1
        /// </summary>
        public CardIoPoint DO02_面板停止按钮灯 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 9);

        /// <summary>
        /// 面板复位按钮灯,输出地址：X2
        /// </summary>
        public CardIoPoint DO03_面板复位按钮灯 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 10);

        /// <summary>
        /// 手动自动按钮灯,输出地址：X3
        /// </summary>
        public CardIoPoint DO04_手动自动按钮灯 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 11);

        /// <summary>
        /// 三色灯红灯1控2模组继电器,输出地址：X4
        /// </summary>
        public CardIoPoint DO05_三色灯红灯1控2模组继电器 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 12);

        /// <summary>
        /// 三色灯黄灯1控2模组继电器,输出地址：X5
        /// </summary>
        public CardIoPoint DO06_三色灯黄灯1控2模组继电器 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 13);

        /// <summary>
        /// 三色灯绿灯1控2模组继电器,输出地址：X6
        /// </summary>
        public CardIoPoint DO07_三色灯绿灯1控2模组继电器 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 14);

        /// <summary>
        /// 三色灯蜂鸣器1控2模组继电器,输出地址：X7
        /// </summary>
        public CardIoPoint DO08_三色灯蜂鸣器1控2模组继电器 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 15);

        /// <summary>
        /// 门禁锁电源1,输出地址：X10
        /// </summary>
        public CardIoPoint DO09_门禁锁电源1 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 16);

        /// <summary>
        /// 门禁锁电源2,输出地址：X11
        /// </summary>
        public CardIoPoint DO10_门禁锁电源2 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 17);

        /// <summary>
        /// 11,输出地址：X12
        /// </summary>
        public CardIoPoint DO11_11 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 18);

        /// <summary>
        /// 12,输出地址：X13
        /// </summary>
        public CardIoPoint DO12_12 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 19);

        /// <summary>
        /// 13,输出地址：X14
        /// </summary>
        public CardIoPoint DO13_13 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 20);

        /// <summary>
        /// 14,输出地址：X15
        /// </summary>
        public CardIoPoint DO14_14 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 21);

        /// <summary>
        /// 入料相机条光触发,输出地址：X16
        /// </summary>
        public CardIoPoint DO15_入料相机条光触发 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 22);

        /// <summary>
        /// 入料相机背光触发,输出地址：X17
        /// </summary>
        public CardIoPoint DO16_入料相机背光触发 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 23);

        /// <summary>
        /// 入料相机触发,输出地址：X20
        /// </summary>
        public CardIoPoint DO17_入料相机触发 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 24);

        /// <summary>
        /// 读码相机光源触发,输出地址：X21
        /// </summary>
        public CardIoPoint DO18_读码相机光源触发 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 25);

        /// <summary>
        /// 读码相机触发,输出地址：X22
        /// </summary>
        public CardIoPoint DO19_读码相机触发 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 26);

        /// <summary>
        /// 取放料相机光源触发,输出地址：X23
        /// </summary>
        public CardIoPoint DO20_取放料相机光源触发 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 27);

        /// <summary>
        /// 取放料相机触发,输出地址：X24
        /// </summary>
        public CardIoPoint DO21_取放料相机触发 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 28);

        /// <summary>
        /// 日光灯继电器,输出地址：X25
        /// </summary>
        public CardIoPoint DO22_日光灯继电器 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 29);

        /// <summary>
        /// 入料到位挡缸伸出电磁阀1控2,输出地址：X26
        /// </summary>
        public CardIoPoint DO23_入料到位挡缸伸出电磁阀1控2 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 30);

        /// <summary>
        /// 入料到位挡缸缩回电磁阀1控2,输出地址：X27
        /// </summary>
        public CardIoPoint DO24_入料到位挡缸缩回电磁阀1控2 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 31);

        /// <summary>
        /// 入料左右拍板气缸缩回电磁阀1控2,输出地址：X30
        /// </summary>
        public CardIoPoint DO25_入料左右拍板气缸缩回电磁阀1控2 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 32);

        /// <summary>
        /// 入料左右拍板气缸伸出电磁阀1控2,输出地址：X31
        /// </summary>
        public CardIoPoint DO26_入料左右拍板气缸伸出电磁阀1控2 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 33);

        /// <summary>
        /// 入料前后拍板气缸缩回电磁阀1控2,输出地址：X32
        /// </summary>
        public CardIoPoint DO27_入料前后拍板气缸缩回电磁阀1控2 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 34);

        /// <summary>
        /// 入料前后拍板气缸伸出电磁阀1控2,输出地址：X33
        /// </summary>
        public CardIoPoint DO28_入料前后拍板气缸伸出电磁阀1控2 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 35);

        /// <summary>
        /// 入料前后拍板上下气缸缩回电磁阀1控2,输出地址：X34
        /// </summary>
        public CardIoPoint DO29_入料前后拍板上下气缸缩回电磁阀1控2 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 36);

        /// <summary>
        /// 入料前后拍板上下气缸伸出电磁阀1控2,输出地址：X35
        /// </summary>
        public CardIoPoint DO30_入料前后拍板上下气缸伸出电磁阀1控2 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 37);

        /// <summary>
        /// 36,输出地址：X36
        /// </summary>
        public CardIoPoint DO31_36 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 38);

        /// <summary>
        /// 37,输出地址：X37
        /// </summary>
        public CardIoPoint DO32_37 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 39);

        /// <summary>
        /// 取放料真空1吸,输出地址：X40
        /// </summary>
        public CardIoPoint DO33_取放料真空1吸 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 40);

        /// <summary>
        /// 取放料真空1吹,输出地址：X41
        /// </summary>
        public CardIoPoint DO34_取放料真空1吹 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 41);

        /// <summary>
        /// 取放料真空2吸,输出地址：X42
        /// </summary>
        public CardIoPoint DO35_取放料真空2吸 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 42);

        /// <summary>
        /// 取放料真空2吹,输出地址：X43
        /// </summary>
        public CardIoPoint DO36_取放料真空2吹 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 43);

        /// <summary>
        /// 取放料真空3吸,输出地址：X44
        /// </summary>
        public CardIoPoint DO37_取放料真空3吸 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 44);

        /// <summary>
        /// 取放料真空3吹,输出地址：X45
        /// </summary>
        public CardIoPoint DO38_取放料真空3吹 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 45);

        /// <summary>
        /// 取放料真空4吸,输出地址：X46
        /// </summary>
        public CardIoPoint DO39_取放料真空4吸 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 46);

        /// <summary>
        /// 取放料真空4吹,输出地址：X47
        /// </summary>
        public CardIoPoint DO40_取放料真空4吹 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 47);

        /// <summary>
        /// 取放料真空5吸,输出地址：X50
        /// </summary>
        public CardIoPoint DO41_取放料真空5吸 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 48);

        /// <summary>
        /// 取放料真空5吹,输出地址：X51
        /// </summary>
        public CardIoPoint DO42_取放料真空5吹 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 49);

        /// <summary>
        /// 取放料真空6吸,输出地址：X52
        /// </summary>
        public CardIoPoint DO43_取放料真空6吸 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 50);

        /// <summary>
        /// 取放料真空6吹,输出地址：X53
        /// </summary>
        public CardIoPoint DO44_取放料真空6吹 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 51);

        /// <summary>
        /// 取放料真空7吸,输出地址：X54
        /// </summary>
        public CardIoPoint DO45_取放料真空7吸 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 52);

        /// <summary>
        /// 取放料真空7吹,输出地址：X55
        /// </summary>
        public CardIoPoint DO46_取放料真空7吹 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 53);

        /// <summary>
        /// 47,输出地址：X56
        /// </summary>
        public CardIoPoint DO47_47 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 54);

        /// <summary>
        /// 48,输出地址：X57
        /// </summary>
        public CardIoPoint DO48_48 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 55);

        /// <summary>
        /// 49,输出地址：X60
        /// </summary>
        public CardIoPoint DO49_49 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 56);

        /// <summary>
        /// 飞达1定位缸伸出电磁阀,输出地址：X61
        /// </summary>
        public CardIoPoint DO50_飞达1定位缸伸出电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 57);

        /// <summary>
        /// 飞达1定位缸缩回电磁阀,输出地址：X62
        /// </summary>
        public CardIoPoint DO51_飞达1定位缸缩回电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 58);

        /// <summary>
        /// 飞达1抽屉按钮灯,输出地址：X63
        /// </summary>
        public CardIoPoint DO52_飞达1抽屉按钮灯 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 59);

        /// <summary>
        /// 53,输出地址：X64
        /// </summary>
        public CardIoPoint DO53_53 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 60);

        /// <summary>
        /// 飞达2定位缸伸出电磁阀,输出地址：X65
        /// </summary>
        public CardIoPoint DO54_飞达2定位缸伸出电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 61);

        /// <summary>
        /// 飞达2定位缸缩回电磁阀,输出地址：X66
        /// </summary>
        public CardIoPoint DO55_飞达2定位缸缩回电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 62);

        /// <summary>
        /// 飞达2抽屉按钮灯,输出地址：X67
        /// </summary>
        public CardIoPoint DO56_飞达2抽屉按钮灯 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 63);

        /// <summary>
        /// NG下料无杆缸缩回电磁阀,输出地址：X70
        /// </summary>
        public CardIoPoint DO57_NG下料无杆缸缩回电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 64);

        /// <summary>
        /// NG下料无杆缸伸出电磁阀,输出地址：X71
        /// </summary>
        public CardIoPoint DO58_NG下料无杆缸伸出电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 65);

        /// <summary>
        /// NG下料抽屉定位缸伸出电磁阀,输出地址：X72
        /// </summary>
        public CardIoPoint DO59_NG下料抽屉定位缸伸出电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 66);

        /// <summary>
        /// NG下料抽屉定位缸缩回电磁阀,输出地址：X73
        /// </summary>
        public CardIoPoint DO60_NG下料抽屉定位缸缩回电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 67);

        /// <summary>
        /// NG抽屉按钮灯,输出地址：X74
        /// </summary>
        public CardIoPoint DO61_NG抽屉按钮灯 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 68);

        /// <summary>
        /// 62,输出地址：X75
        /// </summary>
        public CardIoPoint DO62_62 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 69);

        /// <summary>
        /// 63,输出地址：X76
        /// </summary>
        public CardIoPoint DO63_63 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 70);

        /// <summary>
        /// 64,输出地址：X77
        /// </summary>
        public CardIoPoint DO64_64 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 71);

        /// <summary>
        /// 夹爪气缸1张开电磁阀,输出地址：X100
        /// </summary>
        public CardIoPoint DO65_夹爪气缸1张开电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 72);

        /// <summary>
        /// 夹爪气缸1闭合电磁阀,输出地址：X101
        /// </summary>
        public CardIoPoint DO66_夹爪气缸1闭合电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 73);

        /// <summary>
        /// 夹爪气缸2张开电磁阀,输出地址：X102
        /// </summary>
        public CardIoPoint DO67_夹爪气缸2张开电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 74);

        /// <summary>
        /// 夹爪气缸2闭合电磁阀,输出地址：X103
        /// </summary>
        public CardIoPoint DO68_夹爪气缸2闭合电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 75);

        /// <summary>
        /// 夹爪气缸3张开电磁阀,输出地址：X104
        /// </summary>
        public CardIoPoint DO69_夹爪气缸3张开电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 76);

        /// <summary>
        /// 夹爪气缸3闭合电磁阀,输出地址：X105
        /// </summary>
        public CardIoPoint DO70_夹爪气缸3闭合电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 77);

        /// <summary>
        /// 夹爪气缸4张开电磁阀,输出地址：X106
        /// </summary>
        public CardIoPoint DO71_夹爪气缸4张开电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 78);

        /// <summary>
        /// 夹爪气缸4闭合电磁阀,输出地址：X107
        /// </summary>
        public CardIoPoint DO72_夹爪气缸4闭合电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 79);

        /// <summary>
        /// 夹爪气缸5张开电磁阀,输出地址：X110
        /// </summary>
        public CardIoPoint DO73_夹爪气缸5张开电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 80);

        /// <summary>
        /// 夹爪气缸5闭合电磁阀,输出地址：X111
        /// </summary>
        public CardIoPoint DO74_夹爪气缸5闭合电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 81);

        /// <summary>
        /// 夹爪气缸6张开电磁阀,输出地址：X112
        /// </summary>
        public CardIoPoint DO75_夹爪气缸6张开电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 82);

        /// <summary>
        /// 夹爪气缸6闭合电磁阀,输出地址：X113
        /// </summary>
        public CardIoPoint DO76_夹爪气缸6闭合电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 83);

        /// <summary>
        /// 夹爪气缸7张开电磁阀,输出地址：X114
        /// </summary>
        public CardIoPoint DO77_夹爪气缸7张开电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 84);

        /// <summary>
        /// 夹爪气缸7闭合电磁阀,输出地址：X115
        /// </summary>
        public CardIoPoint DO78_夹爪气缸7闭合电磁阀 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 85);

        /// <summary>
        /// 78,输出地址：X116
        /// </summary>
        public CardIoPoint DO79_78 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 86);

        /// <summary>
        /// 79,输出地址：X117
        /// </summary>
        public CardIoPoint DO80_79 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 87);

        /// <summary>
        /// 80,输出地址：X120
        /// </summary>
        public CardIoPoint DO81_80 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 88);

        /// <summary>
        /// 81,输出地址：X121
        /// </summary>
        public CardIoPoint DO82_81 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 89);

        /// <summary>
        /// 飞达1压料气缸,输出地址：X122
        /// </summary>
        public CardIoPoint DO83_飞达1压料气缸 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 90);

        /// <summary>
        /// 飞达2压料气缸,输出地址：X123
        /// </summary>
        public CardIoPoint DO84_飞达2压料气缸 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 91);

        /// <summary>
        /// 84,输出地址：X124
        /// </summary>
        public CardIoPoint DO85_84 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 92);

        /// <summary>
        /// 85,输出地址：X125
        /// </summary>
        public CardIoPoint DO86_85 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 93);

        /// <summary>
        /// 86,输出地址：X126
        /// </summary>
        public CardIoPoint DO87_86 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 94);

        /// <summary>
        /// 87,输出地址：X127
        /// </summary>
        public CardIoPoint DO88_87 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 95);

        /// <summary>
        /// 88,输出地址：X130
        /// </summary>
        public CardIoPoint DO89_88 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 96);

        /// <summary>
        /// 89,输出地址：X131
        /// </summary>
        public CardIoPoint DO90_89 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 97);

        /// <summary>
        /// 90,输出地址：X132
        /// </summary>
        public CardIoPoint DO91_90 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 98);

        /// <summary>
        /// 91,输出地址：X133
        /// </summary>
        public CardIoPoint DO92_91 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 99);

        /// <summary>
        /// 上料交互输出信号1模组继电器,输出地址：X134
        /// </summary>
        public CardIoPoint DO93_上料交互输出信号1模组继电器 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 100);

        /// <summary>
        /// 上料交互输出信号2模组继电器,输出地址：X135
        /// </summary>
        public CardIoPoint DO94_上料交互输出信号2模组继电器 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 101);

        /// <summary>
        /// 下料交互输出信号1模组继电器,输出地址：X136
        /// </summary>
        public CardIoPoint DO95_下料交互输出信号1模组继电器 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 102);

        /// <summary>
        /// 下料交互输出信号2模组继电器,输出地址：X137
        /// </summary>
        public CardIoPoint DO96_下料交互输出信号2模组继电器 { get; } = new CardIoPoint(Controller, IoModes.Signal, 0, 103);


        #endregion

        public void Init()
        {
            InputPoints[8] = DI01_面板启动按钮;
            InputPoints[9] = DI02_面板停止按钮;
            InputPoints[10] = DI03_面板复位按钮;
            InputPoints[11] = DI04_手动自动旋钮手动;
            InputPoints[12] = DI05_手动自动旋钮自动;
            InputPoints[13] = DI06_面板急停按钮;
            InputPoints[14] = DI07_背面急停按钮;
            InputPoints[15] = DI08_总气源气压表;
            InputPoints[16] = DI09_门禁报警信号1;
            InputPoints[17] = DI10_门禁报警信号2;
            InputPoints[18] = DI11_11;
            InputPoints[19] = DI12_12;
            InputPoints[20] = DI13_13;
            InputPoints[21] = DI14_14;
            InputPoints[22] = DI15_风扇报警1;
            InputPoints[23] = DI16_风扇报警2;
            InputPoints[24] = DI17_风扇报警3;
            InputPoints[25] = DI18_风扇报警4;
            InputPoints[26] = DI19_入料防追尾光电;
            InputPoints[27] = DI20_入料口光电;
            InputPoints[28] = DI21_入料到位光电;
            InputPoints[29] = DI22_出料口光电;
            InputPoints[30] = DI23_入料到位挡缸1伸出磁开;
            InputPoints[31] = DI24_入料到位挡缸1缩回磁开;
            InputPoints[32] = DI25_入料到位挡缸2伸出磁开;
            InputPoints[33] = DI26_入料到位挡缸2缩回磁开;
            InputPoints[34] = DI27_入料左右拍板气缸1原点磁开;
            InputPoints[35] = DI28_入料左右拍板气缸1伸出磁开;
            InputPoints[36] = DI29_入料左右拍板气缸2原点磁开;
            InputPoints[37] = DI30_入料左右拍板气缸2伸出磁开;
            InputPoints[38] = DI31_入料前后拍板气缸1缩回磁开;
            InputPoints[39] = DI32_入料前后拍板气缸1伸出磁开;
            InputPoints[40] = DI33_入料前后拍板气缸2缩回磁开;
            InputPoints[41] = DI34_入料前后拍板气缸2伸出磁开;
            InputPoints[42] = DI35_入料前后拍板上下气缸1缩回磁开;
            InputPoints[43] = DI36_入料前后拍板上下气缸1伸出磁开;
            InputPoints[44] = DI37_入料前后拍板上下气缸2缩回磁开;
            InputPoints[45] = DI38_入料前后拍板上下气缸2伸出磁开;
            InputPoints[46] = DI39_入料到位减速光电;
            InputPoints[47] = DI40_取放料真空表1;
            InputPoints[48] = DI41_取放料真空表2;
            InputPoints[49] = DI42_取放料真空表3;
            InputPoints[50] = DI43_取放料真空表4;
            InputPoints[51] = DI44_取放料真空表5;
            InputPoints[52] = DI45_取放料真空表6;
            InputPoints[53] = DI46_取放料真空表7;
            InputPoints[54] = DI47_47;
            InputPoints[55] = DI48_48;
            InputPoints[56] = DI49_49;
            InputPoints[57] = DI50_飞达1定位缸伸出磁开;
            InputPoints[58] = DI51_飞达1定位缸缩回磁开;
            InputPoints[59] = DI52_飞达1抽屉按钮;
            InputPoints[60] = DI53_53;
            InputPoints[61] = DI54_飞达2定位缸伸出磁开;
            InputPoints[62] = DI55_飞达2定位缸缩回磁开;
            InputPoints[63] = DI56_飞达2抽屉按钮;
            InputPoints[64] = DI57_NG下料无杆缸缩回磁开;
            InputPoints[65] = DI58_NG下料无杆缸伸出磁开;
            InputPoints[66] = DI59_NG下料抽屉定位缸伸出磁开;
            InputPoints[67] = DI60_NG下料抽屉定位缸缩回磁开;
            InputPoints[68] = DI61_NG抽屉按钮;
            InputPoints[69] = DI62_NG抽屉闭合光电;
            InputPoints[70] = DI63_NG抽屉打开光电;
            InputPoints[71] = DI64_NG抽屉料盘有无光电;
            InputPoints[72] = DI65_夹爪膜检测光纤11;
            InputPoints[73] = DI66_夹爪膜检测光纤12;
            InputPoints[74] = DI67_夹爪膜检测光纤13;
            InputPoints[75] = DI68_夹爪膜检测光纤14;
            InputPoints[76] = DI69_夹爪膜检测光纤15;
            InputPoints[77] = DI70_夹爪膜检测光纤16;
            InputPoints[78] = DI71_夹爪膜检测光纤17;
            InputPoints[79] = DI72_夹爪膜检测光纤21;
            InputPoints[80] = DI73_夹爪膜检测光纤22;
            InputPoints[81] = DI74_夹爪膜检测光纤23;
            InputPoints[82] = DI75_夹爪膜检测光纤24;
            InputPoints[83] = DI76_夹爪膜检测光纤25;
            InputPoints[84] = DI77_夹爪膜检测光纤26;
            InputPoints[85] = DI78_夹爪膜检测光纤27;
            InputPoints[86] = DI79_夹爪闭合光纤1;
            InputPoints[87] = DI80_夹爪张开光纤1;
            InputPoints[88] = DI81_夹爪闭合光纤2;
            InputPoints[89] = DI82_夹爪张开光纤2;
            InputPoints[90] = DI83_飞达1抽屉闭合光电;
            InputPoints[91] = DI84_飞达2抽屉闭合光电;
            InputPoints[92] = DI85_飞达1料带有无检测;
            InputPoints[93] = DI86_飞达1放置到位;
            InputPoints[94] = DI87_飞达1收料触发;
            InputPoints[95] = DI88_飞达1满料检测;
            InputPoints[96] = DI89_飞达2料带有无检测;
            InputPoints[97] = DI90_飞达2放置到位;
            InputPoints[98] = DI91_飞达2收料触发;
            InputPoints[99] = DI92_飞达2满料检测;
            InputPoints[100] = DI93_上料交互输入信号1模组继电器;
            InputPoints[101] = DI94_上料交互输入信号2模组继电器;
            InputPoints[102] = DI95_下料交互输入信号1模组继电器;
            InputPoints[103] = DI96_下料交互输入信号2模组继电器;

            OutputPoints[8] = DO01_面板启动按钮灯;
            OutputPoints[9] = DO02_面板停止按钮灯;
            OutputPoints[10] = DO03_面板复位按钮灯;
            OutputPoints[11] = DO04_手动自动按钮灯;
            OutputPoints[12] = DO05_三色灯红灯1控2模组继电器;
            OutputPoints[13] = DO06_三色灯黄灯1控2模组继电器;
            OutputPoints[14] = DO07_三色灯绿灯1控2模组继电器;
            OutputPoints[15] = DO08_三色灯蜂鸣器1控2模组继电器;
            OutputPoints[16] = DO09_门禁锁电源1;
            OutputPoints[17] = DO10_门禁锁电源2;
            OutputPoints[18] = DO11_11;
            OutputPoints[19] = DO12_12;
            OutputPoints[20] = DO13_13;
            OutputPoints[21] = DO14_14;
            OutputPoints[22] = DO15_入料相机条光触发;
            OutputPoints[23] = DO16_入料相机背光触发;
            OutputPoints[24] = DO17_入料相机触发;
            OutputPoints[25] = DO18_读码相机光源触发;
            OutputPoints[26] = DO19_读码相机触发;
            OutputPoints[27] = DO20_取放料相机光源触发;
            OutputPoints[28] = DO21_取放料相机触发;
            OutputPoints[29] = DO22_日光灯继电器;
            OutputPoints[30] = DO23_入料到位挡缸伸出电磁阀1控2;
            OutputPoints[31] = DO24_入料到位挡缸缩回电磁阀1控2;
            OutputPoints[32] = DO25_入料左右拍板气缸缩回电磁阀1控2;
            OutputPoints[33] = DO26_入料左右拍板气缸伸出电磁阀1控2;
            OutputPoints[34] = DO27_入料前后拍板气缸缩回电磁阀1控2;
            OutputPoints[35] = DO28_入料前后拍板气缸伸出电磁阀1控2;
            OutputPoints[36] = DO29_入料前后拍板上下气缸缩回电磁阀1控2;
            OutputPoints[37] = DO30_入料前后拍板上下气缸伸出电磁阀1控2;
            OutputPoints[38] = DO31_36;
            OutputPoints[39] = DO32_37;
            OutputPoints[40] = DO33_取放料真空1吸;
            OutputPoints[41] = DO34_取放料真空1吹;
            OutputPoints[42] = DO35_取放料真空2吸;
            OutputPoints[43] = DO36_取放料真空2吹;
            OutputPoints[44] = DO37_取放料真空3吸;
            OutputPoints[45] = DO38_取放料真空3吹;
            OutputPoints[46] = DO39_取放料真空4吸;
            OutputPoints[47] = DO40_取放料真空4吹;
            OutputPoints[48] = DO41_取放料真空5吸;
            OutputPoints[49] = DO42_取放料真空5吹;
            OutputPoints[50] = DO43_取放料真空6吸;
            OutputPoints[51] = DO44_取放料真空6吹;
            OutputPoints[52] = DO45_取放料真空7吸;
            OutputPoints[53] = DO46_取放料真空7吹;
            OutputPoints[54] = DO47_47;
            OutputPoints[55] = DO48_48;
            OutputPoints[56] = DO49_49;
            OutputPoints[57] = DO50_飞达1定位缸伸出电磁阀;
            OutputPoints[58] = DO51_飞达1定位缸缩回电磁阀;
            OutputPoints[59] = DO52_飞达1抽屉按钮灯;
            OutputPoints[60] = DO53_53;
            OutputPoints[61] = DO54_飞达2定位缸伸出电磁阀;
            OutputPoints[62] = DO55_飞达2定位缸缩回电磁阀;
            OutputPoints[63] = DO56_飞达2抽屉按钮灯;
            OutputPoints[64] = DO57_NG下料无杆缸缩回电磁阀;
            OutputPoints[65] = DO58_NG下料无杆缸伸出电磁阀;
            OutputPoints[66] = DO59_NG下料抽屉定位缸伸出电磁阀;
            OutputPoints[67] = DO60_NG下料抽屉定位缸缩回电磁阀;
            OutputPoints[68] = DO61_NG抽屉按钮灯;
            OutputPoints[69] = DO62_62;
            OutputPoints[70] = DO63_63;
            OutputPoints[71] = DO64_64;
            OutputPoints[72] = DO65_夹爪气缸1张开电磁阀;
            OutputPoints[73] = DO66_夹爪气缸1闭合电磁阀;
            OutputPoints[74] = DO67_夹爪气缸2张开电磁阀;
            OutputPoints[75] = DO68_夹爪气缸2闭合电磁阀;
            OutputPoints[76] = DO69_夹爪气缸3张开电磁阀;
            OutputPoints[77] = DO70_夹爪气缸3闭合电磁阀;
            OutputPoints[78] = DO71_夹爪气缸4张开电磁阀;
            OutputPoints[79] = DO72_夹爪气缸4闭合电磁阀;
            OutputPoints[80] = DO73_夹爪气缸5张开电磁阀;
            OutputPoints[81] = DO74_夹爪气缸5闭合电磁阀;
            OutputPoints[82] = DO75_夹爪气缸6张开电磁阀;
            OutputPoints[83] = DO76_夹爪气缸6闭合电磁阀;
            OutputPoints[84] = DO77_夹爪气缸7张开电磁阀;
            OutputPoints[85] = DO78_夹爪气缸7闭合电磁阀;
            OutputPoints[86] = DO79_78;
            OutputPoints[87] = DO80_79;
            OutputPoints[88] = DO81_80;
            OutputPoints[89] = DO82_81;
            OutputPoints[90] = DO83_飞达1压料气缸;
            OutputPoints[91] = DO84_飞达2压料气缸;
            OutputPoints[92] = DO85_84;
            OutputPoints[93] = DO86_85;
            OutputPoints[94] = DO87_86;
            OutputPoints[95] = DO88_87;
            OutputPoints[96] = DO89_88;
            OutputPoints[97] = DO90_89;
            OutputPoints[98] = DO91_90;
            OutputPoints[99] = DO92_91;
            OutputPoints[100] = DO93_上料交互输出信号1模组继电器;
            OutputPoints[101] = DO94_上料交互输出信号2模组继电器;
            OutputPoints[102] = DO95_下料交互输出信号1模组继电器;
            OutputPoints[103] = DO96_下料交互输出信号2模组继电器;


            InputPoints2["X0_面板启动按钮"] = DI01_面板启动按钮;
            InputPoints2["X1_面板停止按钮"] = DI02_面板停止按钮;
            InputPoints2["X2_面板复位按钮"] = DI03_面板复位按钮;
            InputPoints2["X3_手动自动旋钮手动"] = DI04_手动自动旋钮手动;
            InputPoints2["X4_手动自动旋钮自动"] = DI05_手动自动旋钮自动;
            InputPoints2["X5_面板急停按钮"] = DI06_面板急停按钮;
            InputPoints2["X6_背面急停按钮"] = DI07_背面急停按钮;
            InputPoints2["X7_总气源气压表"] = DI08_总气源气压表;
            InputPoints2["X10_门禁报警信号1"] = DI09_门禁报警信号1;
            InputPoints2["X11_门禁报警信号2"] = DI10_门禁报警信号2;
            InputPoints2["X12_11"] = DI11_11;
            InputPoints2["X13_12"] = DI12_12;
            InputPoints2["X14_13"] = DI13_13;
            InputPoints2["X15_14"] = DI14_14;
            InputPoints2["X16_风扇报警1"] = DI15_风扇报警1;
            InputPoints2["X17_风扇报警2"] = DI16_风扇报警2;
            InputPoints2["X20_风扇报警3"] = DI17_风扇报警3;
            InputPoints2["X21_风扇报警4"] = DI18_风扇报警4;
            InputPoints2["X22_入料防追尾光电"] = DI19_入料防追尾光电;
            InputPoints2["X23_入料口光电"] = DI20_入料口光电;
            InputPoints2["X24_入料到位光电"] = DI21_入料到位光电;
            InputPoints2["X25_出料口光电"] = DI22_出料口光电;
            InputPoints2["X26_入料到位挡缸1伸出磁开"] = DI23_入料到位挡缸1伸出磁开;
            InputPoints2["X27_入料到位挡缸1缩回磁开"] = DI24_入料到位挡缸1缩回磁开;
            InputPoints2["X30_入料到位挡缸2伸出磁开"] = DI25_入料到位挡缸2伸出磁开;
            InputPoints2["X31_入料到位挡缸2缩回磁开"] = DI26_入料到位挡缸2缩回磁开;
            InputPoints2["X32_入料左右拍板气缸1原点磁开"] = DI27_入料左右拍板气缸1原点磁开;
            InputPoints2["X33_入料左右拍板气缸1伸出磁开"] = DI28_入料左右拍板气缸1伸出磁开;
            InputPoints2["X34_入料左右拍板气缸2原点磁开"] = DI29_入料左右拍板气缸2原点磁开;
            InputPoints2["X35_入料左右拍板气缸2伸出磁开"] = DI30_入料左右拍板气缸2伸出磁开;
            InputPoints2["X36_入料前后拍板气缸1缩回磁开"] = DI31_入料前后拍板气缸1缩回磁开;
            InputPoints2["X37_入料前后拍板气缸1伸出磁开"] = DI32_入料前后拍板气缸1伸出磁开;
            InputPoints2["X40_入料前后拍板气缸2缩回磁开"] = DI33_入料前后拍板气缸2缩回磁开;
            InputPoints2["X41_入料前后拍板气缸2伸出磁开"] = DI34_入料前后拍板气缸2伸出磁开;
            InputPoints2["X42_入料前后拍板上下气缸1缩回磁开"] = DI35_入料前后拍板上下气缸1缩回磁开;
            InputPoints2["X43_入料前后拍板上下气缸1伸出磁开"] = DI36_入料前后拍板上下气缸1伸出磁开;
            InputPoints2["X44_入料前后拍板上下气缸2缩回磁开"] = DI37_入料前后拍板上下气缸2缩回磁开;
            InputPoints2["X45_入料前后拍板上下气缸2伸出磁开"] = DI38_入料前后拍板上下气缸2伸出磁开;
            InputPoints2["X46_入料到位减速光电"] = DI39_入料到位减速光电;
            InputPoints2["X47_取放料真空表1"] = DI40_取放料真空表1;
            InputPoints2["X50_取放料真空表2"] = DI41_取放料真空表2;
            InputPoints2["X51_取放料真空表3"] = DI42_取放料真空表3;
            InputPoints2["X52_取放料真空表4"] = DI43_取放料真空表4;
            InputPoints2["X53_取放料真空表5"] = DI44_取放料真空表5;
            InputPoints2["X54_取放料真空表6"] = DI45_取放料真空表6;
            InputPoints2["X55_取放料真空表7"] = DI46_取放料真空表7;
            InputPoints2["X56_47"] = DI47_47;
            InputPoints2["X57_48"] = DI48_48;
            InputPoints2["X60_49"] = DI49_49;
            InputPoints2["X61_飞达1定位缸伸出磁开"] = DI50_飞达1定位缸伸出磁开;
            InputPoints2["X62_飞达1定位缸缩回磁开"] = DI51_飞达1定位缸缩回磁开;
            InputPoints2["X63_飞达1抽屉按钮"] = DI52_飞达1抽屉按钮;
            InputPoints2["X64_53"] = DI53_53;
            InputPoints2["X65_飞达2定位缸伸出磁开"] = DI54_飞达2定位缸伸出磁开;
            InputPoints2["X66_飞达2定位缸缩回磁开"] = DI55_飞达2定位缸缩回磁开;
            InputPoints2["X67_飞达2抽屉按钮"] = DI56_飞达2抽屉按钮;
            InputPoints2["X70_NG下料无杆缸缩回磁开"] = DI57_NG下料无杆缸缩回磁开;
            InputPoints2["X71_NG下料无杆缸伸出磁开"] = DI58_NG下料无杆缸伸出磁开;
            InputPoints2["X72_NG下料抽屉定位缸伸出磁开"] = DI59_NG下料抽屉定位缸伸出磁开;
            InputPoints2["X73_NG下料抽屉定位缸缩回磁开"] = DI60_NG下料抽屉定位缸缩回磁开;
            InputPoints2["X74_NG抽屉按钮"] = DI61_NG抽屉按钮;
            InputPoints2["X75_NG抽屉闭合光电"] = DI62_NG抽屉闭合光电;
            InputPoints2["X76_NG抽屉打开光电"] = DI63_NG抽屉打开光电;
            InputPoints2["X77_NG抽屉料盘有无光电"] = DI64_NG抽屉料盘有无光电;
            InputPoints2["X100_夹爪膜检测光纤11"] = DI65_夹爪膜检测光纤11;
            InputPoints2["X101_夹爪膜检测光纤12"] = DI66_夹爪膜检测光纤12;
            InputPoints2["X102_夹爪膜检测光纤13"] = DI67_夹爪膜检测光纤13;
            InputPoints2["X103_夹爪膜检测光纤14"] = DI68_夹爪膜检测光纤14;
            InputPoints2["X104_夹爪膜检测光纤15"] = DI69_夹爪膜检测光纤15;
            InputPoints2["X105_夹爪膜检测光纤16"] = DI70_夹爪膜检测光纤16;
            InputPoints2["X106_夹爪膜检测光纤17"] = DI71_夹爪膜检测光纤17;
            InputPoints2["X107_夹爪膜检测光纤21"] = DI72_夹爪膜检测光纤21;
            InputPoints2["X110_夹爪膜检测光纤22"] = DI73_夹爪膜检测光纤22;
            InputPoints2["X111_夹爪膜检测光纤23"] = DI74_夹爪膜检测光纤23;
            InputPoints2["X112_夹爪膜检测光纤24"] = DI75_夹爪膜检测光纤24;
            InputPoints2["X113_夹爪膜检测光纤25"] = DI76_夹爪膜检测光纤25;
            InputPoints2["X114_夹爪膜检测光纤26"] = DI77_夹爪膜检测光纤26;
            InputPoints2["X115_夹爪膜检测光纤27"] = DI78_夹爪膜检测光纤27;
            InputPoints2["X116_夹爪闭合光纤1"] = DI79_夹爪闭合光纤1;
            InputPoints2["X117_夹爪张开光纤1"] = DI80_夹爪张开光纤1;
            InputPoints2["X120_夹爪闭合光纤2"] = DI81_夹爪闭合光纤2;
            InputPoints2["X121_夹爪张开光纤2"] = DI82_夹爪张开光纤2;
            InputPoints2["X122_飞达1抽屉闭合光电"] = DI83_飞达1抽屉闭合光电;
            InputPoints2["X123_飞达2抽屉闭合光电"] = DI84_飞达2抽屉闭合光电;
            InputPoints2["X124_飞达1料带有无检测"] = DI85_飞达1料带有无检测;
            InputPoints2["X125_飞达1放置到位"] = DI86_飞达1放置到位;
            InputPoints2["X126_飞达1收料触发"] = DI87_飞达1收料触发;
            InputPoints2["X127_飞达1满料检测"] = DI88_飞达1满料检测;
            InputPoints2["X130_飞达2料带有无检测"] = DI89_飞达2料带有无检测;
            InputPoints2["X131_飞达2放置到位"] = DI90_飞达2放置到位;
            InputPoints2["X132_飞达2收料触发"] = DI91_飞达2收料触发;
            InputPoints2["X133_飞达2满料检测"] = DI92_飞达2满料检测;
            InputPoints2["X134_上料交互输入信号1模组继电器"] = DI93_上料交互输入信号1模组继电器;
            InputPoints2["X135_上料交互输入信号2模组继电器"] = DI94_上料交互输入信号2模组继电器;
            InputPoints2["X136_下料交互输入信号1模组继电器"] = DI95_下料交互输入信号1模组继电器;
            InputPoints2["X137_下料交互输入信号2模组继电器"] = DI96_下料交互输入信号2模组继电器;

            OutputPoints2["Y0_面板启动按钮灯"] = DO01_面板启动按钮灯;
            OutputPoints2["Y1_面板停止按钮灯"] = DO02_面板停止按钮灯;
            OutputPoints2["Y2_面板复位按钮灯"] = DO03_面板复位按钮灯;
            OutputPoints2["Y3_手动自动按钮灯"] = DO04_手动自动按钮灯;
            OutputPoints2["Y4_三色灯红灯1控2模组继电器"] = DO05_三色灯红灯1控2模组继电器;
            OutputPoints2["Y5_三色灯黄灯1控2模组继电器"] = DO06_三色灯黄灯1控2模组继电器;
            OutputPoints2["Y6_三色灯绿灯1控2模组继电器"] = DO07_三色灯绿灯1控2模组继电器;
            OutputPoints2["Y7_三色灯蜂鸣器1控2模组继电器"] = DO08_三色灯蜂鸣器1控2模组继电器;
            OutputPoints2["Y10_门禁锁电源1"] = DO09_门禁锁电源1;
            OutputPoints2["Y11_门禁锁电源2"] = DO10_门禁锁电源2;
            OutputPoints2["Y12_11"] = DO11_11;
            OutputPoints2["Y13_12"] = DO12_12;
            OutputPoints2["Y14_13"] = DO13_13;
            OutputPoints2["Y15_14"] = DO14_14;
            OutputPoints2["Y16_入料相机条光触发"] = DO15_入料相机条光触发;
            OutputPoints2["Y17_入料相机背光触发"] = DO16_入料相机背光触发;
            OutputPoints2["Y20_入料相机触发"] = DO17_入料相机触发;
            OutputPoints2["Y21_读码相机光源触发"] = DO18_读码相机光源触发;
            OutputPoints2["Y22_读码相机触发"] = DO19_读码相机触发;
            OutputPoints2["Y23_取放料相机光源触发"] = DO20_取放料相机光源触发;
            OutputPoints2["Y24_取放料相机触发"] = DO21_取放料相机触发;
            OutputPoints2["Y25_日光灯继电器"] = DO22_日光灯继电器;
            OutputPoints2["Y26_入料到位挡缸伸出电磁阀1控2"] = DO23_入料到位挡缸伸出电磁阀1控2;
            OutputPoints2["Y27_入料到位挡缸缩回电磁阀1控2"] = DO24_入料到位挡缸缩回电磁阀1控2;
            OutputPoints2["Y30_入料左右拍板气缸缩回电磁阀1控2"] = DO25_入料左右拍板气缸缩回电磁阀1控2;
            OutputPoints2["Y31_入料左右拍板气缸伸出电磁阀1控2"] = DO26_入料左右拍板气缸伸出电磁阀1控2;
            OutputPoints2["Y32_入料前后拍板气缸缩回电磁阀1控2"] = DO27_入料前后拍板气缸缩回电磁阀1控2;
            OutputPoints2["Y33_入料前后拍板气缸伸出电磁阀1控2"] = DO28_入料前后拍板气缸伸出电磁阀1控2;
            OutputPoints2["Y34_入料前后拍板上下气缸缩回电磁阀1控2"] = DO29_入料前后拍板上下气缸缩回电磁阀1控2;
            OutputPoints2["Y35_入料前后拍板上下气缸伸出电磁阀1控2"] = DO30_入料前后拍板上下气缸伸出电磁阀1控2;
            OutputPoints2["Y36_36"] = DO31_36;
            OutputPoints2["Y37_37"] = DO32_37;
            OutputPoints2["Y40_取放料真空1吸"] = DO33_取放料真空1吸;
            OutputPoints2["Y41_取放料真空1吹"] = DO34_取放料真空1吹;
            OutputPoints2["Y42_取放料真空2吸"] = DO35_取放料真空2吸;
            OutputPoints2["Y43_取放料真空2吹"] = DO36_取放料真空2吹;
            OutputPoints2["Y44_取放料真空3吸"] = DO37_取放料真空3吸;
            OutputPoints2["Y45_取放料真空3吹"] = DO38_取放料真空3吹;
            OutputPoints2["Y46_取放料真空4吸"] = DO39_取放料真空4吸;
            OutputPoints2["Y47_取放料真空4吹"] = DO40_取放料真空4吹;
            OutputPoints2["Y50_取放料真空5吸"] = DO41_取放料真空5吸;
            OutputPoints2["Y51_取放料真空5吹"] = DO42_取放料真空5吹;
            OutputPoints2["Y52_取放料真空6吸"] = DO43_取放料真空6吸;
            OutputPoints2["Y53_取放料真空6吹"] = DO44_取放料真空6吹;
            OutputPoints2["Y54_取放料真空7吸"] = DO45_取放料真空7吸;
            OutputPoints2["Y55_取放料真空7吹"] = DO46_取放料真空7吹;
            OutputPoints2["Y56_47"] = DO47_47;
            OutputPoints2["Y57_48"] = DO48_48;
            OutputPoints2["Y58_49"] = DO49_49;
            OutputPoints2["Y61_飞达1定位缸伸出电磁阀"] = DO50_飞达1定位缸伸出电磁阀;
            OutputPoints2["Y62_飞达1定位缸缩回电磁阀"] = DO51_飞达1定位缸缩回电磁阀;
            OutputPoints2["Y63_飞达1抽屉按钮灯"] = DO52_飞达1抽屉按钮灯;
            OutputPoints2["Y64_53"] = DO53_53;
            OutputPoints2["Y65_飞达2定位缸伸出电磁阀"] = DO54_飞达2定位缸伸出电磁阀;
            OutputPoints2["Y66_飞达2定位缸缩回电磁阀"] = DO55_飞达2定位缸缩回电磁阀;
            OutputPoints2["Y67_飞达2抽屉按钮灯"] = DO56_飞达2抽屉按钮灯;
            OutputPoints2["Y70_NG下料无杆缸缩回电磁阀"] = DO57_NG下料无杆缸缩回电磁阀;
            OutputPoints2["Y71_NG下料无杆缸伸出电磁阀"] = DO58_NG下料无杆缸伸出电磁阀;
            OutputPoints2["Y72_NG下料抽屉定位缸伸出电磁阀"] = DO59_NG下料抽屉定位缸伸出电磁阀;
            OutputPoints2["Y73_NG下料抽屉定位缸缩回电磁阀"] = DO60_NG下料抽屉定位缸缩回电磁阀;
            OutputPoints2["Y74_NG抽屉按钮灯"] = DO61_NG抽屉按钮灯;
            OutputPoints2["Y75_62"] = DO62_62;
            OutputPoints2["Y76_63"] = DO63_63;
            OutputPoints2["Y77_64"] = DO64_64;
            OutputPoints2["Y100_夹爪气缸1张开电磁阀"] = DO65_夹爪气缸1张开电磁阀;
            OutputPoints2["Y101_夹爪气缸1闭合电磁阀"] = DO66_夹爪气缸1闭合电磁阀;
            OutputPoints2["Y102_夹爪气缸2张开电磁阀"] = DO67_夹爪气缸2张开电磁阀;
            OutputPoints2["Y103_夹爪气缸2闭合电磁阀"] = DO68_夹爪气缸2闭合电磁阀;
            OutputPoints2["Y104_夹爪气缸3张开电磁阀"] = DO69_夹爪气缸3张开电磁阀;
            OutputPoints2["Y105_夹爪气缸3闭合电磁阀"] = DO70_夹爪气缸3闭合电磁阀;
            OutputPoints2["Y106_夹爪气缸4张开电磁阀"] = DO71_夹爪气缸4张开电磁阀;
            OutputPoints2["Y107_夹爪气缸4闭合电磁阀"] = DO72_夹爪气缸4闭合电磁阀;
            OutputPoints2["Y110_夹爪气缸5张开电磁阀"] = DO73_夹爪气缸5张开电磁阀;
            OutputPoints2["Y111_夹爪气缸5闭合电磁阀"] = DO74_夹爪气缸5闭合电磁阀;
            OutputPoints2["Y112_夹爪气缸6张开电磁阀"] = DO75_夹爪气缸6张开电磁阀;
            OutputPoints2["Y113_夹爪气缸6闭合电磁阀"] = DO76_夹爪气缸6闭合电磁阀;
            OutputPoints2["Y114_夹爪气缸7张开电磁阀"] = DO77_夹爪气缸7张开电磁阀;
            OutputPoints2["Y115_夹爪气缸7闭合电磁阀"] = DO78_夹爪气缸7闭合电磁阀;
            OutputPoints2["Y116_78"] = DO79_78;
            OutputPoints2["Y117_79"] = DO80_79;
            OutputPoints2["Y120_80"] = DO81_80;
            OutputPoints2["Y121_81"] = DO82_81;
            OutputPoints2["Y122_飞达1压料气缸"] = DO83_飞达1压料气缸;
            OutputPoints2["Y123_飞达2压料气缸"] = DO84_飞达2压料气缸;
            OutputPoints2["Y124_84"] = DO85_84;
            OutputPoints2["Y125_85"] = DO86_85;
            OutputPoints2["Y126_86"] = DO87_86;
            OutputPoints2["Y127_87"] = DO88_87;
            OutputPoints2["Y130_88"] = DO89_88;
            OutputPoints2["Y131_89"] = DO90_89;
            OutputPoints2["Y132_90"] = DO91_90;
            OutputPoints2["Y133_91"] = DO92_91;
            OutputPoints2["Y134_上料交互输出信号1模组继电器"] = DO93_上料交互输出信号1模组继电器;
            OutputPoints2["Y135_上料交互输出信号2模组继电器"] = DO94_上料交互输出信号2模组继电器;
            OutputPoints2["Y136_下料交互输出信号1模组继电器"] = DO95_下料交互输出信号1模组继电器;
            OutputPoints2["Y137_下料交互输出信号2模组继电器"] = DO96_下料交互输出信号2模组继电器;
        }
    }
}
